// critRate.module.js

// 计算暴击率


// [[file:~/literate-programming/soul-hunter-awakening-damage-calculator-web-edition.org::*critRate.module.js][critRate.module.js:1]]
function calculate(object){
    return finalCritRate({
        面板系:panelCritRate({
            武器基础暴击率:object.武器基础暴击率,
            武器精铸暴击率:object.武器精铸暴击率,
            武器重铸暴击率:object.武器重铸暴击率,
            血灵石暴击率:object.血灵石暴击率,
            精准:object.精准,
            锐利:object.锐利,
            伙伴羁绊:object.伙伴羁绊,
            项链:object.项链,
            基础暴击率:object.基础暴击率,
            料理:object.料理
        }),
        非面板系:otherCritRate({
            荷尔蒙:object.荷尔蒙,
            断食:object.断食,
            战意:object.战意,
            诡诈:object.诡诈,
            心得:object.心得,
            伙伴出战:object.伙伴出战,
            出战魂:object.出战魂,
            技能符文:object.技能符文,
            专精增幅:object.专精增幅
        })
    })
}

function finalCritRate(object){
    let 面板系=object.面板系
    let 非面板系=object.非面板系

    return (面板系+非面板系)
}

function panelCritRate(object){
    let 武器基础暴击率=object.武器基础暴击率
    let 武器精铸暴击率=object.武器精铸暴击率
    let 武器重铸暴击率=object.武器重铸暴击率
    let 血灵石暴击率=object.血灵石暴击率
    let 精准=object.精准
    let 锐利=object.锐利
    let 伙伴羁绊=object.伙伴羁绊
    let 项链=object.项链
    let 基础暴击率=object.基础暴击率
    let 料理=object.料理

    return (
        武器基础暴击率+
        武器精铸暴击率+
        武器重铸暴击率+
        血灵石暴击率+
        精准+
        锐利+
        伙伴羁绊+
        项链+
        基础暴击率+
        料理
    )
}

function otherCritRate(object){
    let 荷尔蒙=object.荷尔蒙
    let 断食=object.断食
    let 战意=object.战意
    let 诡诈=object.诡诈
    let 心得=object.心得
    let 伙伴出战=object.伙伴出战
    let 出战魂=object.出战魂
    let 技能符文=object.技能符文
    let 专精增幅=object.专精增幅

    return (
        荷尔蒙+
        断食+
        战意+
        诡诈+
        心得+
        伙伴出战+
        出战魂+
        技能符文+
        专精增幅
    )
}

export{calculate}
// critRate.module.js:1 ends here
